﻿
using System.Collections.Generic;
using System.Windows.Forms;
using SistemaFinanceiro.classes.entidades;
using SistemaFinanceiro.classes.negocio.cartao;
using SistemaFinanceiro.classes.persistencia;

namespace SistemaFinanceiro.classes.negocio
{
    class CartaoNegocio : GenericoNegocio_old<Cartao>
    {
        private CartaoDAO dao;

        public CartaoNegocio()
        {
            dao = new CartaoDAO();
        }

        public override GenericoDAO_old<Cartao> GetDAO()
        {
            return dao;
        }

        public override List<Cartao> Listar()
        {
            List<Cartao> lista = base.Listar();
            lista.Sort((tc1, tc2) => string.Compare(tc1.NumeroCartao, tc2.NumeroCartao));

            return lista;
        }

        public override bool Validar(Cartao tipoCartao)
        {
            bool valido = true;
            // valida se já existe
            Cartao cartao = base.ProcurarPorPropriedade("NumeroCartao", tipoCartao.Descricao);
            if (cartao != null && !cartao.Equals(tipoCartao))
            {
                MessageBox.Show("Número do Cartão já existe!");
                valido = false;
            }
            return valido;
        }


    }
}
